Apache POI ব্যবহার করে আপনি PowerPoint ডকুমেন্টে বিভিন্ন গ্রাফিক্যাল এলিমেন্ট যেমন Shapes, Pictures, এবং Diagrams যোগ এবং ম্যানেজ করতে পারেন। POI এর XSLF API, যা PPTX ফাইল ফরম্যাটের জন্য ব্যবহৃত হয়, আপনি এই গ্রাফিক্যাল এলিমেন্টগুলির সাথে কাজ করতে পারবেন।
এখানে আলোচনা করা হবে কিভাবে Shapes, Pictures, এবং Diagrams ম্যানেজ করা যায় এবং কীভাবে এগুলি PowerPoint ফাইলে যোগ করা যায়।
Shapes (শেপস) তৈরি এবং ম্যানেজ করা
PowerPoint ফাইলে Shapes যেমন Rectangle, Oval, Lines, Arrows, Stars, ইত্যাদি যোগ করা যায়। XSLF API তে শেপ তৈরি করা অত্যন্ত সহজ।
উদাহরণ: Rectangle এবং Oval Shape যোগ করা
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFAutoShape;
import org.apache.poi.xslf.usermodel.XSLFTextParagraph;
import org.apache.poi.xslf.usermodel.XSLFTextRun;
import org.apache.poi.sl.usermodel.ShapeType;
import java.io.FileOutputStream;
import java.io.IOException;
public class AddShapesToSlide {
public static void main(String[] args) {
try {
// Create a new PowerPoint presentation
XMLSlideShow ppt = new XMLSlideShow();
// Create a slide
XSLFSlide slide = ppt.createSlide();
// Add a rectangle shape to the slide
XSLFAutoShape rectangle = slide.createAutoShape();
rectangle.setShapeType(ShapeType.RECTANGLE);
rectangle.setAnchor(new java.awt.Rectangle(50, 50, 300, 150));
XSLFTextParagraph p1 = rectangle.addNewTextParagraph();
XSLFTextRun r1 = p1.addNewTextRun();
r1.setText("This is a rectangle shape!");
// Add an oval shape to the slide
XSLFAutoShape oval = slide.createAutoShape();
oval.setShapeType(ShapeType.ELLIPSE);
oval.setAnchor(new java.awt.Rectangle(100, 200, 250, 120));
XSLFTextParagraph p2 = oval.addNewTextParagraph();
XSLFTextRun r2 = p2.addNewTextRun();
r2.setText("This is an oval shape!");
// Save the PowerPoint presentation to a file
FileOutputStream out = new FileOutputStream("ShapesExample.pptx");
ppt.write(out);
out.close();
System.out.println("PPTX with shapes created successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে একটি Rectangle এবং একটি Oval Shape PowerPoint Slide এ যোগ করা হয়েছে, এবং উভয় শেপে কিছু টেক্সট যোগ করা হয়েছে।
Pictures (ছবি) যোগ করা
PowerPoint ডকুমেন্টে ছবি যোগ করার জন্য XSLFPictureData ব্যবহার করা হয়। আপনি যেকোনো ধরনের ছবি (যেমন JPEG, PNG) PowerPoint ফাইলে যোগ করতে পারেন।
উদাহরণ: Picture (ছবি) যোগ করা
import org.apache.poi.xslf.usermodel.XMLSlideShow;
import org.apache.poi.xslf.usermodel.XSLFSlide;
import org.apache.poi.xslf.usermodel.XSLFPictureData;
import org.apache.poi.xslf.usermodel.XSLFPicture;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class AddPictureToSlide {
public static void main(String[] args) {
try {
// Create a new PowerPoint presentation
XMLSlideShow ppt = new XMLSlideShow();
// Create a slide
XSLFSlide slide = ppt.createSlide();
// Add an image to the slide
File imgFile = new File("image.jpg"); // Ensure the image is in the correct path
byte[] pictureData = java.nio.file.Files.readAllBytes(imgFile.toPath());
XSLFPictureData picture = ppt.addPicture(pictureData, XSLFPictureData.PICTURE_TYPE_JPEG);
slide.createPicture(picture);
// Save the PowerPoint presentation to a file
FileOutputStream out = new FileOutputStream("PPTXwithImage.pptx");
ppt.write(out);
out.close();
System.out.println("PPTX with image created successfully!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
এখানে একটি ছবি PowerPoint স্লাইডে যোগ করা হয়েছে। image.jpg ফাইলটি স্লাইডে ইনসার্ট করা হয়েছে এবং সেভ করা হয়েছে PPTXwithImage.pptx নামে।
Diagrams (ডায়াগ্রামস) যোগ করা
PowerPoint ফাইলের মধ্যে Diagrams বা SmartArt যুক্ত করা Apache POI দিয়ে সরাসরি সম্ভব নয়। তবে, আপনি Shapes এবং Lines ব্যবহার করে মৌলিক ডায়াগ্রামস তৈরি করতে পারেন, যেমন Flowcharts, Organizational Charts, ইত্যাদি।
SmartArt বা আরও জটিল ডায়াগ্রাম তৈরির জন্য, আপনাকে PowerPoint সফটওয়্যার ব্যবহার করতে হবে বা POI এর পাশাপাশি অন্য কোন লাইব্রেরি ব্যবহার করতে হতে পারে।
সারাংশ
Apache POI এর মাধ্যমে PowerPoint ফাইল তৈরি করার সময় আপনি Shapes, Pictures, এবং Diagrams যোগ করতে পারেন। Shapes যেমন Rectangle, Oval, Arrow এবং Line খুব সহজে যোগ করা যায় এবং এগুলির মধ্যে টেক্সটও যোগ করা যায়। ছবি যোগ করার জন্য XSLFPictureData এবং XSLFSlide ব্যবহার করা হয়। তবে, Diagrams বা SmartArt তৈরি করা জন্য Apache POI সরাসরি সহায়তা দেয় না, তবে আপনি সাধারণ শেপস এবং লাইন ব্যবহার করে মৌলিক ডায়াগ্রাম তৈরি করতে পারেন।